﻿using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IndoorPosition.Server.Core.Entities
{
    /// <summary>
    /// 项目
    /// </summary>
    [Comment("项目")]
    public class Project : EntityBase
    {
        /// <summary>
        /// 项目名称
        /// </summary>
        [Comment("项目名称")]
        [StringLength(50)]
        public string Name
        {
            get;
            set;
        }

        /// <summary>
        /// 项目范围：最西
        /// </summary>
        [Comment("项目范围：最西")]
        public double MinLongitude
        {
            get;
            set;
        }

        /// <summary>
        /// 项目范围：最东
        /// </summary>
        [Comment("项目范围：最东")]
        public double MaxLongitude
        {
            get;
            set;
        }

        /// <summary>
        /// 项目范围：最南
        /// </summary>
        [Comment("项目范围：最南")]
        public double MinLatitude
        {
            get;
            set;
        }

        /// <summary>
        /// 项目范围：最北
        /// </summary>
        [Comment("项目范围：最北")]
        public double MaxLatitude
        {
            get;
            set;
        }

        /// <summary>
        /// 场景URL
        /// </summary>
        [Comment("场景URL")]
        [StringLength(200)]
        public string SceneUrl
        {
            get;
            set;
        }

        /// <summary>
        /// 地形URL
        /// </summary>
        [Comment("地形URL")]
        [StringLength(200)]
        public string TerrainUrl
        {
            get;
            set;
        }

        /// <summary>
        /// 室外地图URL
        /// </summary>
        [Comment("地图URL")]
        [StringLength(200)]
        public string MapUrl
        {
            get;
            set;
        }

        /// <summary>
        /// 室外路径
        /// </summary>
        [Comment("室外路径")]
        [StringLength(50)]
        public string Route
        {
            get;
            set;
        }

        /// <summary>
        /// 建筑物
        /// </summary>
        public virtual ICollection<Building> Buildings
        {
            get;
            set;
        }
    }
}
